<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // promise API
        // 1. 调用Promise.resolve() 不传参，默认返回成功promise，结果值为undefined
        // let p = new Promise((res,rej)=>{
        //     res('ok')
        // })
        // console.log(p);

        // 原型方法的调用，必须是在实例对象上调用！
        // p.then()


        // 函数的静态方法 static方法
        // let p2 = Promise.resolve('ok');

        // console.log(p2);

        // 2. 调用Promise.resolve()方法，传入一个非promise的参数
            // 1.2 参数 "1"
            // 1.3 参数 true
        // let p =Promise.resolve(false);

        // console.log(p);

        // Promise.resolve传入的是Promise对象，结果会根据传入的promise决定
        let p = Promise.resolve(new Promise((res,rej)=>{
            // res('ok');
            rej('error')
        }))

        console.log(p);

        let p2 = Promise.resolve(new Promise((res,rej)=>{
            throw 'err';
        }))

        console.log(p2);

        
        // 3. 调用Promise.resolve()方法，传入一个promise作为参数
            // 3.1 Promise.resolve() 传入一个状态为pending的promise对象
            // 3.2 Promise.resolve() 传入一个状态为resolve的promise对象
            // 3.3 Promise.resolve() 传入一个状态为reject的promise对象
            
            // 总结：Promise.resolve传入的是promise，就会将这个参数promise返回

    </script>
</body>

</html>